package util

type Field struct {
	Value  string
	Length int
}

func (f *Field) GetValue(s string) string {
	f.Value = s[:f.Length]
	return s[f.Length:]
}

func (f Field) SetValue() string {
	return f.Value
}

type FieldPrefix struct {
	Value  string
	Prefix string
	Suffix string
}

func (f *FieldPrefix) GetValue(s string) string {
	first, last, _ := SplitStringByFirstPipe(s)
	f.Value = first[len(f.Prefix):]
	return last
}

func (f FieldPrefix) SetValue() string {
	if f.Suffix == "" {
		f.Suffix = "|"
	}
	return f.Prefix + f.Value + f.Suffix
}
